#include <iostream>

#include <windows.h>	// Needed for searching directories
#include <cmath>
#include <cfloat>		// Needed for maximum floating point value
#include <assert.h>

#include "Image.h"
#include "Tree.h"

using namespace std;



// Bounding box
struct BoundingBox
{
	int _x;
	int _y;
	int _w;
	int _h;
	BoundingBox* next;
};


// Class for a forest classifier
class ForestClassifier
{
	public:
		ForestClassifier(char* directory);		// Constructs a forest from a text file

		// Member functions
		BoundingBox* RunForestOnImage(Image* img, float scale_factor, float p_thresh);
		BoundingBox* RunForestOnImage_slow(Image* img, float scale_factor, float p_thresh);

		// Member variables
		TreeClassifier* _forest;
		int _n_trees;
};